Skip to content

Add PHP manual cross-reference entities and update build configuration - #15

Merged
jordikroon merged 3 commits into
php:mainfrom
jordikroon:phase-3-build
Sep 4, 2026
Merged

Add PHP manual cross-reference entities and update build configuration#15
jordikroon merged 3 commits into
php:mainfrom
jordikroon:phase-3-build

Conversation

@jordikroon

@jordikroon jordikroon commented Sep 3, 2026

Copy link
Copy Markdown
Member

There are still a few steps to make, but this should make the repo build. Mainly:

  • References to internal docs are converted to normal php.net links
  • The php.net urls live in entities/entities.manual.ent so they can be updated in one place
  • manual.xml no longer loads entity files that don't exist in this repo

Todo:

  • Cleanup language-snippets.ent and other stale entities
  • doc-base/scripts/broken.php behaves as if this is a translation repo
  • The exception classes xi:include their inherited members from doc-en, those can't resolve here and render as placeholders

@alfsb alfsb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. A very extensive and yet very detailed change.

  • Cleanup language-snippets.ent and other stale entities

After this manual builds, a very easy way to detect stale entities is to list all entities, and then: 1. checkout local clones; 2. programmatically erases or renames an entity; 3. try to build the manual. If the manual keeps building, then that entity is unused. It's a lot of local CPU burning, yes, but will produce the result.

  • doc-base/scripts/broken.php behaves as if this is a translation repo

I think it's possible to change the test for $dnt to inspect the existence of manual.xml in the lang dir. I will try to make this change, after I commit the last PRs still open.

  • The exception classes xi:include their inherited members from doc-en, those can't resolve here and render as placeholders

They are reported by configure.php, and probably will be replaced by new normal XML entities, copied from the respective targets, from the (assembled) main manual.

Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
Comment thread entities/entities.manual.ent Outdated
@macintoshplus

Copy link
Copy Markdown
Contributor

I have applied this PR patch to my local repository successfully. The build passed, and I have been able to see my PR change in the browser. Thank you.

jordikroon and others added 2 commits September 4, 2026 13:27
Co-authored-by: Louis-Arnaud <la.catoire@gmail.com>
Co-authored-by: Louis-Arnaud <la.catoire@gmail.com>
@jordikroon
jordikroon merged commit 622378a into php:main Sep 4, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants